Argument Count

getMinimumNumberOfArguments() and getMaximumNumberOfArguments() define the allowed number of arguments.

Note: For a no-argument function such as getNextGUID, both of these methods return 0.

@Override
public int getMinimumNumberOfArguments() {
return 0;
}
@Override
public int getMaximumNumberOfArguments() {
return 0;
}

Argument Types

getArgumentTypes() defines the Saxon argument types.

Note: For a no-argument function, it returns an empty SequenceType array.

@Override
public SequenceType[] getArgumentTypes() {
return new SequenceType[0];
}

For a single string argument, the structure would look like this:

@Override
public SequenceType[] getArgumentTypes() {
return new SequenceType[] { SequenceType.SINGLE_STRING };
}

Return Type

getResultType(...) defines the Saxon return type. For a function that returns a GUID string, use SequenceType.SINGLE_STRING.

@Override
public SequenceType getResultType(SequenceType[] suppliedArgs) {
return SequenceType.SINGLE_STRING;
}